Fix compatibility with Python 3.8.

Upstream issue: https://github.com/DirectXMan12/should_be/pull/5

diff -x '*.pyc' -Naur shouldbe-0.1.2/should_be/core.py shouldbe-0.1.2.patched/should_be/core.py
--- shouldbe-0.1.2/should_be/core.py	2019-03-06 07:38:22.000000000 +0100
+++ shouldbe-0.1.2.patched/should_be/core.py	2020-05-18 08:44:24.214664704 +0200
@@ -103,7 +103,7 @@
     return resf
 
 
-def buildCode(baseCode, argcount=None, kwonlyargcount=None,
+def buildCode(baseCode, argcount=None, posonlyargcount=None, kwonlyargcount=None,
               nlocals=None, stacksize=None, flags=None,
               code=None, consts=None, names=None,
               varnames=None, filename=None, name=None,
@@ -121,6 +121,24 @@
                         nlocals or baseCode.co_nlocals,
                         stacksize or baseCode.co_stacksize,
                         flags or baseCode.co_flags,
+                        code or baseCode.co_code,
+                        consts or baseCode.co_consts,
+                        names or baseCode.co_names,
+                        varnames or baseCode.co_varnames,
+                        filename or baseCode.co_filename,
+                        name or baseCode.co_name,
+                        firstlineno or baseCode.co_firstlineno,
+                        lnotab or baseCode.co_lnotab,
+                        freevars or baseCode.co_freevars,
+                        cellvars or baseCode.co_cellvars)
+    elif hasattr(baseCode, 'co_posonlyargcount'):
+        # Python 3.8
+        resc = CodeType(argcount or baseCode.co_argcount,
+                        posonlyargcount or baseCode.co_posonlyargcount,
+                        kwonlyargcount or baseCode.co_kwonlyargcount,
+                        nlocals or baseCode.co_nlocals,
+                        stacksize or baseCode.co_stacksize,
+                        flags or baseCode.co_flags,
                         code or baseCode.co_code,
                         consts or baseCode.co_consts,
                         names or baseCode.co_names,
diff -x '*.pyc' -Naur shouldbe-0.1.2/should_be/tests/test_container_mixin.py shouldbe-0.1.2.patched/should_be/tests/test_container_mixin.py
--- shouldbe-0.1.2/should_be/tests/test_container_mixin.py	2019-03-01 06:38:16.000000000 +0100
+++ shouldbe-0.1.2.patched/should_be/tests/test_container_mixin.py	2020-05-18 09:00:51.372531064 +0200
@@ -7,31 +7,31 @@
         self.lst = [1, 2, 3]
 
     def test_should_include_iter(self):
-        err_msg = (r'[a-zA-Z0-9.]+ should have included \[.+?\]'
+        err_msg = (r'[a-zA-Z0-9.()]+ should have included \[.+?\]'
                    r', but did not have items .+')
-        self.assertRaisesRegexp(AssertionError, err_msg,
+        self.assertRaisesRegex(AssertionError, err_msg,
                                 self.lst.should_include, [4])
 
         self.lst.should_include([1, 2, 3])
 
     def test_should_include_item(self):
-        err_msg = (r'[a-zA-Z0-9.]+ should have included .+?'
+        err_msg = (r'[a-zA-Z0-9.()]+ should have included .+?'
                    r', but did not')
-        self.assertRaisesRegexp(AssertionError, err_msg,
+        self.assertRaisesRegex(AssertionError, err_msg,
                                 self.lst.should_include, 4)
 
         self.lst.should_include(3)
 
     def test_shouldnt_include_iter(self):
         err_msg = 'should not have included'
-        self.assertRaisesRegexp(AssertionError, err_msg,
+        self.assertRaisesRegex(AssertionError, err_msg,
                                 self.lst.shouldnt_include, [2, 3])
 
         self.lst.shouldnt_include([4, 5])
 
     def test_shouldnt_include_item(self):
         err_msg = 'should not have included'
-        self.assertRaisesRegexp(AssertionError, err_msg,
+        self.assertRaisesRegex(AssertionError, err_msg,
                                 self.lst.shouldnt_include, 3)
 
         self.lst.shouldnt_include(4)
